package StudentManagerSystem1;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

public class Code {
    public Code(){

    }
    public String code() {
        // 创建一个ArrayList用于存放字符串
        ArrayList<String> list = new ArrayList<>();
        // 调用psck()方法，将结果添加到list中
        psck(list);
        // 调用code()方法，从list中随机选择一个字符串
        ArrayList<String> str = code(list);
        // 调用getRandomString()方法，从str中随机选择一个字符串，并返回
        return getRandomString(str);

    }

    private String getRandomString(ArrayList<String> str) { //生成随机字符串
        String st = "";
        for (String s : str) {
            st = st + s; //将字符串拼接在一起
        }
        return st;

    }
    // 生成四位随机码
private ArrayList<String> code(ArrayList<String> list) {
        // 创建一个随机数生成器
        Random r = new Random();
        // 创建一个结果列表
        ArrayList<String> result = new ArrayList<>();
        // 循环四次，从列表中随机选择一个元素添加到结果列表中
        for (int i = 0; i < 4; i++) {
            int index = r.nextInt(list.size());
            result.add(list.get(index));
        }
        // 生成一个0到9之间的随机整数
        int number = r.nextInt(10);
        // 将随机整数添加到结果列表中
        result.add(String.valueOf(number));
        // 对结果列表进行随机排序
        Collections.shuffle(result);
        // 返回结果列表
        return result;

    }
    //利用集合整合搜需要的字符
    private void psck(ArrayList<String> list) {
        for (int i = 0; i < 26; i++) {
            char c = (char) (i + 'a');
            list.add(String.valueOf(c));
            char ch = (char) (i + 'A');
            list.add(String.valueOf(ch));
        }
    }

}
